package LeetCode.month02.day36;


import java.util.HashMap;
import java.util.Map;

public class No13 {
    public int romanToInt(String s) {
        Map<Character, Integer> map = new HashMap<>();
        map.put('I',1);
        map.put('V',5);
        map.put('X',10);
        map.put('L',50);
        map.put('C',100);
        map.put('D',500);
        map.put('M',1000);
        char[] c = s.toCharArray();
        int res = 0;
        int n = c.length;
        for (int i = 0; i < n-1; i++) {
            int x = map.get(c[i]);
            int y = map.get(c[i+1]);
            res+=x>=y?x:-x;
        }
        res+=map.get(c[n-1]);
        return res;
//        Map<Character, Integer> map = new HashMap<>();
//        map.put('I',1);
//        map.put('V',5);
//        map.put('X',10);
//        map.put('L',50);
//        map.put('C',100);
//        map.put('D',500);
//        map.put('M',1000);
//        char[] c = s.toCharArray();
//        int res = 0;
//        int n = c.length;
//        if(n==1) return map.get(c[0]);
//        for (int i = c.length - 1; i >= 1; i--) {
//            int n1 = map.get(c[i]);
//            int n2 = map.get(c[i-1]);
//            if(n2<n1) {
//                res += n1-n2;
//                i--;
//            }else{
//                res+=n1;
//            }
//        }
//        if(map.get(c[0])>=map.get(c[1])) res+=map.get(c[0]);
//        return res;
    }
}
